package cn.xval.ft.app.gen.params;

import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonInclude;
import jakarta.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;

public class FutureAccountParams {
    @Data
    @Schema(description = "FutureAccount新增请求参数")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class FutureAccountCreateRequest {
        @NotNull
        @Schema(description = "名称")
        @Length(max = 20)
        private String name;
        @NotNull
        @Schema(description = "登录账号")
        @Length(max = 17)
        private String userId;
        @Schema(description = "登录密码")
        @Length(max = 40)
        private String password;
        @NotNull
        @Schema(description = "经纪公司代码")
        @Length(max = 10)
        private String brokerId;
        @Schema(description = "经纪公司")
        @Length(max = 50)
        private String broker;
    }
    @Data
    @Schema(description = "FutureAccount 返回数据")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class FutureAccountInfo {
        @Schema(description = "编码")
        private String id;
        @Schema(description = "登录密码")
        private String password;
        @Schema(description = "名称")
        private String name;
        @Schema(description = "登录账号")
        private String userId;
        @Schema(description = "经纪公司代码")
        private String brokerId;
        @Schema(description = "经纪公司")
        private String broker;
    }
    @Data
    @Schema(description = "FutureAccount更新请求参数")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class FutureAccountModifyRequest {
        @NotNull
        @Schema(description = "编码")
        private String id;
        @NotNull
        @Schema(description = "登录账号")
        @Length(max = 17)
        private String userId;
        @NotNull
        @Schema(description = "经纪公司代码")
        @Length(max = 10)
        private String brokerId;
        @NotNull
        @Schema(description = "名称")
        @Length(max = 20)
        private String name;
        @Schema(description = "登录密码")
        @Length(max = 40)
        private String password;
        @Schema(description = "经纪公司")
        @Length(max = 50)
        private String broker;
    }
}